{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十一题 数据读取 读取本地EXCEL数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-03-16 11:30:18</td>\n",
       "      <td>本科</td>\n",
       "      <td>20k-35k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-03-16 10:58:48</td>\n",
       "      <td>本科</td>\n",
       "      <td>20k-40k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-03-16 10:46:39</td>\n",
       "      <td>不限</td>\n",
       "      <td>20k-35k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-03-16 10:45:44</td>\n",
       "      <td>本科</td>\n",
       "      <td>13k-20k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-03-16 10:20:41</td>\n",
       "      <td>本科</td>\n",
       "      <td>10k-20k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>2020-03-16 11:36:07</td>\n",
       "      <td>本科</td>\n",
       "      <td>10k-18k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>2020-03-16 09:54:47</td>\n",
       "      <td>硕士</td>\n",
       "      <td>25k-50k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>2020-03-16 10:48:32</td>\n",
       "      <td>本科</td>\n",
       "      <td>20k-40k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>2020-03-16 10:46:31</td>\n",
       "      <td>本科</td>\n",
       "      <td>15k-23k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>2020-03-16 11:19:38</td>\n",
       "      <td>本科</td>\n",
       "      <td>20k-40k</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             createTime education   salary\n",
       "0   2020-03-16 11:30:18        本科  20k-35k\n",
       "1   2020-03-16 10:58:48        本科  20k-40k\n",
       "2   2020-03-16 10:46:39        不限  20k-35k\n",
       "3   2020-03-16 10:45:44        本科  13k-20k\n",
       "4   2020-03-16 10:20:41        本科  10k-20k\n",
       "..                  ...       ...      ...\n",
       "130 2020-03-16 11:36:07        本科  10k-18k\n",
       "131 2020-03-16 09:54:47        硕士  25k-50k\n",
       "132 2020-03-16 10:48:32        本科  20k-40k\n",
       "133 2020-03-16 10:46:31        本科  15k-23k\n",
       "134 2020-03-16 11:19:38        本科  20k-40k\n",
       "\n",
       "[135 rows x 3 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "df = pd.read_excel(r\"C:\\Users\\灬月光皆旧梦\\Desktop\\21-50数据.xlsx\")\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十二题 数据查看 查看df数据前五行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-03-16 11:30:18</td>\n",
       "      <td>本科</td>\n",
       "      <td>20k-35k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-03-16 10:58:48</td>\n",
       "      <td>本科</td>\n",
       "      <td>20k-40k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-03-16 10:46:39</td>\n",
       "      <td>不限</td>\n",
       "      <td>20k-35k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-03-16 10:45:44</td>\n",
       "      <td>本科</td>\n",
       "      <td>13k-20k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-03-16 10:20:41</td>\n",
       "      <td>本科</td>\n",
       "      <td>10k-20k</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           createTime education   salary\n",
       "0 2020-03-16 11:30:18        本科  20k-35k\n",
       "1 2020-03-16 10:58:48        本科  20k-40k\n",
       "2 2020-03-16 10:46:39        不限  20k-35k\n",
       "3 2020-03-16 10:45:44        本科  13k-20k\n",
       "4 2020-03-16 10:20:41        本科  10k-20k"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-03-16 11:30:18</td>\n",
       "      <td>本科</td>\n",
       "      <td>20k-35k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-03-16 10:58:48</td>\n",
       "      <td>本科</td>\n",
       "      <td>20k-40k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-03-16 10:46:39</td>\n",
       "      <td>不限</td>\n",
       "      <td>20k-35k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-03-16 10:45:44</td>\n",
       "      <td>本科</td>\n",
       "      <td>13k-20k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-03-16 10:20:41</td>\n",
       "      <td>本科</td>\n",
       "      <td>10k-20k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2020-03-16 10:33:48</td>\n",
       "      <td>本科</td>\n",
       "      <td>10k-18k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2020-03-16 10:11:54</td>\n",
       "      <td>硕士</td>\n",
       "      <td>16k-30k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2020-03-16 09:49:12</td>\n",
       "      <td>本科</td>\n",
       "      <td>10k-15k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2020-03-16 09:25:48</td>\n",
       "      <td>不限</td>\n",
       "      <td>6k-8k</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2020-03-16 09:35:50</td>\n",
       "      <td>本科</td>\n",
       "      <td>12k-20k</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           createTime education   salary\n",
       "0 2020-03-16 11:30:18        本科  20k-35k\n",
       "1 2020-03-16 10:58:48        本科  20k-40k\n",
       "2 2020-03-16 10:46:39        不限  20k-35k\n",
       "3 2020-03-16 10:45:44        本科  13k-20k\n",
       "4 2020-03-16 10:20:41        本科  10k-20k\n",
       "5 2020-03-16 10:33:48        本科  10k-18k\n",
       "6 2020-03-16 10:11:54        硕士  16k-30k\n",
       "7 2020-03-16 09:49:12        本科  10k-15k\n",
       "8 2020-03-16 09:25:48        不限    6k-8k\n",
       "9 2020-03-16 09:35:50        本科  12k-20k"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十三题 数据计算  将salary列数据转换为最大值与最小值的平均值\n",
    "###  方法一 ：apply + 自定义函数\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- Python \n",
    "-      split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则分隔num+1个子字符串\n",
    "-      strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。\n",
    "-      apply函数主要用于对DataFrame中的行或者列进行特定的函数计算。\n",
    "  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 注意：如果直接 df['salary'].split('-') 就是报错 \n",
    "- 报错结果为： AttributeError: 'Series' object has no attribute 'split' \n",
    "\n",
    "- 需要先把df['salary']对象转换为字符串：df['salary'].str.split('-')  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      [20k, 35k]\n",
       "1      [20k, 40k]\n",
       "2      [20k, 35k]\n",
       "3      [13k, 20k]\n",
       "4      [10k, 20k]\n",
       "          ...    \n",
       "130    [10k, 18k]\n",
       "131    [25k, 50k]\n",
       "132    [20k, 40k]\n",
       "133    [15k, 23k]\n",
       "134    [20k, 40k]\n",
       "Name: salary, Length: 135, dtype: object"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['salary'].str.split('-') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-03-16 11:30:18</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-03-16 10:58:48</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-03-16 10:46:39</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-03-16 10:45:44</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-03-16 10:20:41</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2020-03-16 10:33:48</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2020-03-16 10:11:54</td>\n",
       "      <td>硕士</td>\n",
       "      <td>23000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2020-03-16 09:49:12</td>\n",
       "      <td>本科</td>\n",
       "      <td>12500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2020-03-16 09:25:48</td>\n",
       "      <td>不限</td>\n",
       "      <td>7000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2020-03-16 09:35:50</td>\n",
       "      <td>本科</td>\n",
       "      <td>16000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           createTime education  salary\n",
       "0 2020-03-16 11:30:18        本科   27500\n",
       "1 2020-03-16 10:58:48        本科   30000\n",
       "2 2020-03-16 10:46:39        不限   27500\n",
       "3 2020-03-16 10:45:44        本科   16500\n",
       "4 2020-03-16 10:20:41        本科   15000\n",
       "5 2020-03-16 10:33:48        本科   14000\n",
       "6 2020-03-16 10:11:54        硕士   23000\n",
       "7 2020-03-16 09:49:12        本科   12500\n",
       "8 2020-03-16 09:25:48        不限    7000\n",
       "9 2020-03-16 09:35:50        本科   16000"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def func(df):\n",
    "    lst = df['salary'].split('-')      \n",
    "    smin = int(lst[0].strip('k')) \n",
    "    smax = int(lst[1].strip('k'))\n",
    "    df['salary'] = int((smin + smax) / 2 * 1000)\n",
    "    return df\n",
    "\n",
    "df = df.apply(func,axis = 1)\n",
    "df.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 方法二 ：iterrows + 正则\n",
    "- iterrows()是在数据框中的行进行迭代的一个生成器，它返回每行的索引及一个包含行本身的对象。\n",
    "- re.findall()在字符串中找到正则表达式所匹配的所有子串，并返回一个列表；如果没有找到匹配的，则返回空列表。返回结果是列表类型，需要遍历一下才能依次获取每组内容。"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-03-16 11:30:18</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-03-16 10:58:48</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-03-16 10:46:39</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-03-16 10:45:44</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-03-16 10:20:41</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>2020-03-16 11:36:07</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>2020-03-16 09:54:47</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>2020-03-16 10:48:32</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>2020-03-16 10:46:31</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>2020-03-16 11:19:38</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             createTime education salary\n",
       "0   2020-03-16 11:30:18        本科  27500\n",
       "1   2020-03-16 10:58:48        本科  30000\n",
       "2   2020-03-16 10:46:39        不限  27500\n",
       "3   2020-03-16 10:45:44        本科  16500\n",
       "4   2020-03-16 10:20:41        本科  15000\n",
       "..                  ...       ...    ...\n",
       "130 2020-03-16 11:36:07        本科  14000\n",
       "131 2020-03-16 09:54:47        硕士  37500\n",
       "132 2020-03-16 10:48:32        本科  30000\n",
       "133 2020-03-16 10:46:31        本科  19000\n",
       "134 2020-03-16 11:19:38        本科  30000\n",
       "\n",
       "[135 rows x 3 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import re\n",
    "for index,row in df.iterrows():\n",
    "    nums = re.findall('\\d+',row[2])\n",
    "    df.iloc[index,2] = int(eval(f'({nums[0]} + {nums[1]}) / 2 * 1000'))\n",
    "\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十四题  数据分组  将数据根据学历进行分组并计算平均薪资"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>education</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>不限</th>\n",
       "      <td>19600.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>大专</th>\n",
       "      <td>10000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>本科</th>\n",
       "      <td>19361.344538</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>硕士</th>\n",
       "      <td>20642.857143</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 salary\n",
       "education              \n",
       "不限         19600.000000\n",
       "大专         10000.000000\n",
       "本科         19361.344538\n",
       "硕士         20642.857143"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby('education').mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"8\" halign=\"left\">salary</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>education</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>不限</th>\n",
       "      <td>5.0</td>\n",
       "      <td>19600.000000</td>\n",
       "      <td>13197.537649</td>\n",
       "      <td>3500.0</td>\n",
       "      <td>7000.0</td>\n",
       "      <td>27500.0</td>\n",
       "      <td>30000.0</td>\n",
       "      <td>30000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>大专</th>\n",
       "      <td>4.0</td>\n",
       "      <td>10000.000000</td>\n",
       "      <td>5773.502692</td>\n",
       "      <td>5000.0</td>\n",
       "      <td>5000.0</td>\n",
       "      <td>10000.0</td>\n",
       "      <td>15000.0</td>\n",
       "      <td>15000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>本科</th>\n",
       "      <td>119.0</td>\n",
       "      <td>19361.344538</td>\n",
       "      <td>8450.484985</td>\n",
       "      <td>3500.0</td>\n",
       "      <td>14000.0</td>\n",
       "      <td>17500.0</td>\n",
       "      <td>25000.0</td>\n",
       "      <td>45000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>硕士</th>\n",
       "      <td>7.0</td>\n",
       "      <td>20642.857143</td>\n",
       "      <td>8882.165116</td>\n",
       "      <td>12500.0</td>\n",
       "      <td>13250.0</td>\n",
       "      <td>22500.0</td>\n",
       "      <td>22750.0</td>\n",
       "      <td>37500.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          salary                                                         \\\n",
       "           count          mean           std      min      25%      50%   \n",
       "education                                                                 \n",
       "不限           5.0  19600.000000  13197.537649   3500.0   7000.0  27500.0   \n",
       "大专           4.0  10000.000000   5773.502692   5000.0   5000.0  10000.0   \n",
       "本科         119.0  19361.344538   8450.484985   3500.0  14000.0  17500.0   \n",
       "硕士           7.0  20642.857143   8882.165116  12500.0  13250.0  22500.0   \n",
       "\n",
       "                             \n",
       "               75%      max  \n",
       "education                    \n",
       "不限         30000.0  30000.0  \n",
       "大专         15000.0  15000.0  \n",
       "本科         25000.0  45000.0  \n",
       "硕士         22750.0  37500.0  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby('education').describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### pandas轴旋转stack和unstack\n",
    "- 1.stack：将数据的列“旋转”为行\n",
    "- 2.unstack：将数据的行“旋转”为列\n",
    "- 3.stack和unstack默认操作为最内层\n",
    "- 4.stack和unstack默认旋转轴的级别将会成果结果中的最低级别（最内层）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>education</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">不限</th>\n",
       "      <th>count</th>\n",
       "      <td>5.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>19600.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>13197.537649</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>3500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>7000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>27500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>30000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>30000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">大专</th>\n",
       "      <th>count</th>\n",
       "      <td>4.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>10000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>5773.502692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>5000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>5000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>10000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>15000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>15000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">本科</th>\n",
       "      <th>count</th>\n",
       "      <td>119.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>19361.344538</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>8450.484985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>3500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>14000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>17500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>25000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>45000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"8\" valign=\"top\">硕士</th>\n",
       "      <th>count</th>\n",
       "      <td>7.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>20642.857143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>8882.165116</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>12500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>13250.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>22500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>22750.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>37500.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       salary\n",
       "education                    \n",
       "不限        count      5.000000\n",
       "          mean   19600.000000\n",
       "          std    13197.537649\n",
       "          min     3500.000000\n",
       "          25%     7000.000000\n",
       "          50%    27500.000000\n",
       "          75%    30000.000000\n",
       "          max    30000.000000\n",
       "大专        count      4.000000\n",
       "          mean   10000.000000\n",
       "          std     5773.502692\n",
       "          min     5000.000000\n",
       "          25%     5000.000000\n",
       "          50%    10000.000000\n",
       "          75%    15000.000000\n",
       "          max    15000.000000\n",
       "本科        count    119.000000\n",
       "          mean   19361.344538\n",
       "          std     8450.484985\n",
       "          min     3500.000000\n",
       "          25%    14000.000000\n",
       "          50%    17500.000000\n",
       "          75%    25000.000000\n",
       "          max    45000.000000\n",
       "硕士        count      7.000000\n",
       "          mean   20642.857143\n",
       "          std     8882.165116\n",
       "          min    12500.000000\n",
       "          25%    13250.000000\n",
       "          50%    22500.000000\n",
       "          75%    22750.000000\n",
       "          max    37500.000000"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby('education').describe().stack()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十五题  时间转换  将createTime 列时间转换为 月-日"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- iterrows() 是在数据框中的行进行迭代的一个生成器，它返回每行的索引及一个包含行本身的对象。\n",
    "- strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary\n",
       "0        03-16        本科   27500\n",
       "1        03-16        本科   30000\n",
       "2        03-16        不限   27500\n",
       "3        03-16        本科   16500\n",
       "4        03-16        本科   15000\n",
       "..         ...       ...     ...\n",
       "130      03-16        本科   14000\n",
       "131      03-16        硕士   37500\n",
       "132      03-16        本科   30000\n",
       "133      03-16        本科   19000\n",
       "134      03-16        本科   30000\n",
       "\n",
       "[135 rows x 3 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for index,row in df.iterrows():\n",
    "    df.iloc[index,0] = df.iloc[index,0].to_pydatetime().strftime(\"%m-%d\")\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十六题 数据查看  查看索引、数据类型和内存信息\n",
    "- info()函数用于打印DataFrame的简要摘要，显示有关DataFrame的信息，包括索引的数据类型dtype和列的数据类型dtype，非空值的数量和内存使用情况。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 135 entries, 0 to 134\n",
      "Data columns (total 3 columns):\n",
      " #   Column      Non-Null Count  Dtype \n",
      "---  ------      --------------  ----- \n",
      " 0   createTime  135 non-null    object\n",
      " 1   education   135 non-null    object\n",
      " 2   salary      135 non-null    int64 \n",
      "dtypes: int64(1), object(2)\n",
      "memory usage: 3.3+ KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十七题 数据查看  插卡数值型列的汇总统计\n",
    "- describe()函数：函数用于生成描述性统计信息。 描述性统计数据：数值类型的包括均值，标准差，最大值，最小值，分位数等；类别的包括个数，类别的数目，最高数量的类别及出现次数等；输出将根据提供的内容而有所不同。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>135.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>19159.259259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>8661.686922</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>3500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>14000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>17500.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>25000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>45000.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             salary\n",
       "count    135.000000\n",
       "mean   19159.259259\n",
       "std     8661.686922\n",
       "min     3500.000000\n",
       "25%    14000.000000\n",
       "50%    17500.000000\n",
       "75%    25000.000000\n",
       "max    45000.000000"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十八题 数据整理 新增一列根据salary将数据分为三组  （低、中、高）\n",
    "- 根据上一题得出salary最大值45000，最小值3500，因此新增一列将salary分为三组，低：[0-10000],；中：(10000-20000]，高：(20000-50000]。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## pandas pd.cut()与pd.qcut()\n",
    "### pd.cut() 函数主要用于对数据从最大值到最小值进行等距划分\n",
    "- pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)\n",
    "- 参数： \n",
    "      x : 输入待cut的一维数组；\n",
    "      bins : cut的段数，一般为整型，但也可以为序列向量；\n",
    "      right : 布尔值，确定右区间是否开闭，取True时右区间闭合；\n",
    "      labels : 数组或布尔值，默认为None，用来标识分后的bins，长度必须与结果bins相等，返回值为整数或者对bins的标识；\n",
    "      retbins : 布尔值，可选。是否返回数值所在分组，Ture则返回；\n",
    "      precision : 整型，bins小数精度，也就是数据以几位小数显示；\n",
    "      include_lowest : 布尔类型，是否包含左区间\n",
    "\n",
    "### pd.qcut函数，按照数据出现频率百分比划分，比如要把数据分为四份，则四段分别是数据的0-25%，25%-50%，50%-75%，75%-100%\n",
    "- pd.qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')\n",
    "- 参数：\n",
    "      x ：一维数组或者Serise\n",
    "      q ： 表示分位数的整数或者数组，\n",
    "      labels ： 数组或者布尔值，默认为none，用于指定每个箱体的标签\n",
    "      rebines ：布尔值，可选。 是否显示分箱的分界值。（由于是按照分位数进行分箱，在不知道分位数具体数值的情况下，可以通过这个参数设置显示              分界值即分位数的具体数值）\n",
    "      precision：整数，默认3，存储和显示分箱标签的精度。\n",
    "      duplicates：如果分箱临界值不唯一 。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>categories</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "      <td>高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "      <td>高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "      <td>中</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "      <td>中</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "      <td>中</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>23000</td>\n",
       "      <td>高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>12500</td>\n",
       "      <td>中</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>7000</td>\n",
       "      <td>低</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16000</td>\n",
       "      <td>中</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  createTime education  salary categories\n",
       "0      03-16        本科   27500          高\n",
       "1      03-16        本科   30000          高\n",
       "2      03-16        不限   27500          高\n",
       "3      03-16        本科   16500          中\n",
       "4      03-16        本科   15000          中\n",
       "5      03-16        本科   14000          中\n",
       "6      03-16        硕士   23000          高\n",
       "7      03-16        本科   12500          中\n",
       "8      03-16        不限    7000          低\n",
       "9      03-16        本科   16000          中"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bins = [0,10000,20000,50000]\n",
    "group_names = ['低','中','高']\n",
    "df['categories'] = pd.cut(df['salary'],bins,labels=group_names)\n",
    "df.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>categories</th>\n",
       "      <th>categories2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "      <td>高</td>\n",
       "      <td>(25000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>高</td>\n",
       "      <td>(25000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "      <td>高</td>\n",
       "      <td>(25000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "      <td>中</td>\n",
       "      <td>(14000.0, 17500.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "      <td>中</td>\n",
       "      <td>(14000.0, 17500.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "      <td>中</td>\n",
       "      <td>(3499.999, 14000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>23000</td>\n",
       "      <td>高</td>\n",
       "      <td>(17500.0, 25000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>12500</td>\n",
       "      <td>中</td>\n",
       "      <td>(3499.999, 14000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>7000</td>\n",
       "      <td>低</td>\n",
       "      <td>(3499.999, 14000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16000</td>\n",
       "      <td>中</td>\n",
       "      <td>(14000.0, 17500.0]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  createTime education  salary categories          categories2\n",
       "0      03-16        本科   27500          高   (25000.0, 45000.0]\n",
       "1      03-16        本科   30000          高   (25000.0, 45000.0]\n",
       "2      03-16        不限   27500          高   (25000.0, 45000.0]\n",
       "3      03-16        本科   16500          中   (14000.0, 17500.0]\n",
       "4      03-16        本科   15000          中   (14000.0, 17500.0]\n",
       "5      03-16        本科   14000          中  (3499.999, 14000.0]\n",
       "6      03-16        硕士   23000          高   (17500.0, 25000.0]\n",
       "7      03-16        本科   12500          中  (3499.999, 14000.0]\n",
       "8      03-16        不限    7000          低  (3499.999, 14000.0]\n",
       "9      03-16        本科   16000          中   (14000.0, 17500.0]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['categories2'] = pd.qcut(df['salary'],4)\n",
    "df.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二十九题 数据整理  按照salary列对数据降序排列\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>categories</th>\n",
       "      <th>categories2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>45000</td>\n",
       "      <td>高</td>\n",
       "      <td>(25000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>40000</td>\n",
       "      <td>高</td>\n",
       "      <td>(25000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>37500</td>\n",
       "      <td>高</td>\n",
       "      <td>(25000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>37500</td>\n",
       "      <td>高</td>\n",
       "      <td>(25000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "      <td>高</td>\n",
       "      <td>(25000.0, 45000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>123</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>4500</td>\n",
       "      <td>低</td>\n",
       "      <td>(3499.999, 14000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>126</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>4000</td>\n",
       "      <td>低</td>\n",
       "      <td>(3499.999, 14000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>110</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>4000</td>\n",
       "      <td>低</td>\n",
       "      <td>(3499.999, 14000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>3500</td>\n",
       "      <td>低</td>\n",
       "      <td>(3499.999, 14000.0]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>113</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>3500</td>\n",
       "      <td>低</td>\n",
       "      <td>(3499.999, 14000.0]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary categories          categories2\n",
       "53       03-16        本科   45000          高   (25000.0, 45000.0]\n",
       "37       03-16        本科   40000          高   (25000.0, 45000.0]\n",
       "101      03-16        本科   37500          高   (25000.0, 45000.0]\n",
       "16       03-16        本科   37500          高   (25000.0, 45000.0]\n",
       "131      03-16        硕士   37500          高   (25000.0, 45000.0]\n",
       "..         ...       ...     ...        ...                  ...\n",
       "123      03-16        本科    4500          低  (3499.999, 14000.0]\n",
       "126      03-16        本科    4000          低  (3499.999, 14000.0]\n",
       "110      03-16        本科    4000          低  (3499.999, 14000.0]\n",
       "96       03-16        不限    3500          低  (3499.999, 14000.0]\n",
       "113      03-16        本科    3500          低  (3499.999, 14000.0]\n",
       "\n",
       "[135 rows x 5 columns]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sort_values('salary',ascending = False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十题  数据提取 取出第33行数据\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "createTime                  03-16\n",
       "education                      硕士\n",
       "salary                      22500\n",
       "categories                      高\n",
       "categories2    (17500.0, 25000.0]\n",
       "Name: 32, dtype: object"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.iloc[32]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十一题  数据计算  计算salary列的中位数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "17500.0"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.median(df['salary'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十二题  数据可视化 绘制薪资水平频率分布直方图\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import  matplotlib.pyplot as plt\n",
    "\n",
    "# Jupyter运行matplotlib成像需要运行魔术命令\n",
    "%matplotlib inline\n",
    "plt.hist(df.salary)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 当然也可以用原生pandas方法绘图："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x24f5ac80a48>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD4CAYAAADrRI2NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAR00lEQVR4nO3df7BndV3H8efLdRVME4ir7fCjCw1jMk4udCUaygx/hFKhjZVOk0yRa6mTTk61UlM61gw2JeXUZFuQq/kLUZNEoxUxx5kCF11haTVQtyJ22DUloAxifffH97P0bfde7vey93y/e/k8HzPf+Z7zOed8z/t+YF577ud+vuekqpAk9eNRsy5AkjRdBr8kdcbgl6TOGPyS1BmDX5I68+hZFzCJ448/vubn52ddhiStKTfeeONXq2ru4PY1Efzz8/Ns37591mVI0pqS5J8Xa3eoR5I6Y/BLUmcMfknqjMEvSZ0x+CWpMwa/JHXG4Jekzhj8ktQZg1+SOrMmvrmrlZnffPVMzrv7kvNncl5JK+MVvyR1ZrDgT3JUkhuSfD7JLUne2NrfnuQrSXa018ahapAkHWrIoZ77gHOr6t4k64FPJ/lY2/YrVXXlgOeWJC1hsOCv0VPc722r69vLJ7tL0owNOsafZF2SHcBeYFtVXd82/U6Sm5JcmuSxSxy7Kcn2JNv37ds3ZJmS1JVBg7+q9lfVRuBE4KwkTwNeD3wX8AzgOODXljh2S1UtVNXC3NwhzxGQJD1MU5nVU1V3AZ8EzquqPTVyH/AXwFnTqEGSNDLkrJ65JMe05aOB5wBfSLKhtQV4IbBzqBokSYcaclbPBmBrknWM/oG5oqo+kuQTSeaAADuAXxiwBknSQYac1XMTcMYi7ecOdU5J0vL85q4kdcbgl6TOGPyS1BmDX5I6Y/BLUmcMfknqjMEvSZ0x+CWpMwa/JHXG4Jekzhj8ktQZg1+SOmPwS1JnDH5J6ozBL0mdMfglqTMGvyR1ZshHL6oz85uvntm5d19y/szOLa01XvFLUmcMfknqzGDBn+SoJDck+XySW5K8sbWfkuT6JLcmeV+SxwxVgyTpUENe8d8HnFtVTwc2AuclORt4M3BpVZ0GfB24aMAaJEkHGSz4a+Tetrq+vQo4F7iytW8FXjhUDZKkQw06xp9kXZIdwF5gG/Al4K6qeqDtcjtwwhLHbkqyPcn2ffv2DVmmJHVl0OCvqv1VtRE4ETgLeOpiuy1x7JaqWqiqhbm5uSHLlKSuTGVWT1XdBXwSOBs4JsmB7w+cCNwxjRokSSNDzuqZS3JMWz4aeA6wC7gOeHHb7ULgw0PVIEk61JDf3N0AbE2yjtE/MFdU1UeS/CPw3iS/DXwOuGzAGiRJBxks+KvqJuCMRdq/zGi8X5I0A35zV5I6Y/BLUmcMfknqjMEvSZ0x+CWpMwa/JHXG4Jekzhj8ktQZg1+SOmPwS1JnDH5J6ozBL0mdMfglqTMGvyR1xuCXpM4Y/JLUGYNfkjpj8EtSZwx+SeqMwS9JnRks+JOclOS6JLuS3JLkNa39DUn+LcmO9nrBUDVIkg716AE/+wHgdVX12SRPAG5Msq1tu7Sqfm/Ac0uSljBY8FfVHmBPW74nyS7ghKHOJ0mazFTG+JPMA2cA17emVye5KcnlSY5d4phNSbYn2b5v375plClJXRg8+JM8HvgA8Nqquhv4E+A7gY2MfiP4/cWOq6otVbVQVQtzc3NDlylJ3Rg0+JOsZxT676qqDwJU1Z1Vtb+qvgn8GXDWkDVIkv6/IWf1BLgM2FVVbxlr3zC224uAnUPVIEk61JCzes4Bfga4OcmO1nYx8NIkG4ECdgOvGLAGSdJBhpzV82kgi2z66FDnlCQtz2/uSlJnDH5J6ozBL0mdMfglqTMGvyR1ZqLgT/K0oQuRJE3HpFf8b0tyQ5JXJjlm0IokSYOaKPir6vuBnwZOArYneXeS5w5amSRpEBOP8VfVrcBvAL8G/CDw1iRfSPLjQxUnSVp9k47xf3eSS4FdwLnAj1bVU9vypQPWJ0laZZPesuGPGN1J8+Kq+saBxqq6I8lvDFKZJGkQkwb/C4BvVNV+gCSPAo6qqv+qqncOVp0kadVNOsb/ceDosfXHtTZJ0hozafAfVVX3Hlhpy48bpiRJ0pAmDf7/THLmgZUk3wN84yH2lyQdoSYd438t8P4kd7T1DcBPDVOSJGlIEwV/VX0myXcBT2H0cJUvVNX/DFqZJGkQK3kC1zOA+XbMGUmoqncMUpUkaTATBX+SdwLfCewA9rfmAgx+SVpjJr3iXwBOr6oashhJ0vAmndWzE/j2lXxwkpOSXJdkV5JbkrymtR+XZFuSW9v7sSstWpL08E0a/McD/5jkmiRXHXgtc8wDwOvaPX3OBl6V5HRgM3BtVZ0GXNvWJUlTMulQzxtW+sFVtQfY05bvSbILOAG4AHhW220r8ElGd/yUJE3BpNM5/y7JdwCnVdXHkzwOWDfpSZLMA2cA1wNPbv8oUFV7kjxpiWM2AZsATj755ElPJXVjfvPVMznv7kvOn8l5tXomvS3zy4ErgT9tTScAfzXhsY8HPgC8tqrunrSwqtpSVQtVtTA3NzfpYZKkZUw6xv8q4BzgbnjwoSyLXqmPS7KeUei/q6o+2JrvTLKhbd8A7F1p0ZKkh2/S4L+vqu4/sJLk0Yzm8S8pSYDLgF1V9ZaxTVcBF7blC4EPT16uJOlwTfrH3b9LcjFwdHvW7iuBv17mmHOAnwFuTrKjtV0MXAJckeQi4F+An1h52ZKkh2vS4N8MXATcDLwC+Cjw5w91QFV9mtF9fRbz7EkLlCStrkln9XyT0aMX/2zYciRJQ5v0Xj1fYZEx/ao6ddUrkiQNaiX36jngKEbj8setfjmSpKFNNKunqv597PVvVfUHwLkD1yZJGsCkQz1njq0+itFvAE8YpCJJ0qAmHer5/bHlB4DdwE+uejWSpMFNOqvnh4YuRJI0HZMO9fzyQ20/6Ju5kqQj2Epm9TyD0e0WAH4U+BTwr0MUJUkazqTBfzxwZlXdA5DkDcD7q+rnhypMkjSMSW/SdjJw/9j6/cD8qlcjSRrcpFf87wRuSPIhRt/gfRHwjsGqkiQNZtJZPb+T5GPAD7Smn62qzw1XliRpKJMO9QA8Dri7qv4QuD3JKQPVJEka0KSPXvwtRg9Ef31rWg/85VBFSZKGM+kV/4uAHwP+E6Cq7sBbNkjSmjRp8N9fVUW7NXOSbxmuJEnSkCYN/iuS/ClwTJKXAx/Hh7JI0po06aye32vP2r0beArwm1W1bdDKJEmDWDb4k6wDrqmq5wATh32Sy4EfAfZW1dNa2xuAlwP72m4XV9VHV1q0JOnhW3aop6r2A/+V5Ikr/Oy3A+ct0n5pVW1sL0NfkqZs0m/u/jdwc5JttJk9AFX1S0sdUFWfSjJ/WNVJklbdpMF/dXuthlcneRmwHXhdVX19lT5XkjSBhwz+JCdX1b9U1dZVOt+fAG9iNC30TYye7PVzS5x7E7AJ4OSTT16l00uSlhvj/6sDC0k+cLgnq6o7q2p/VX2T0XTQsx5i3y1VtVBVC3Nzc4d7aklSs1zwZ2z51MM9WZINY6svAnYe7mdKklZmuTH+WmJ5WUneAzwLOD7J7cBvAc9KsrF91m7gFSv5TEnS4Vsu+J+e5G5GV/5Ht2XaelXVty51YFW9dJHmyx5emZKk1fKQwV9V66ZViCRpOlZyP35J0iOAwS9JnTH4JakzBr8kdcbgl6TOGPyS1BmDX5I6Y/BLUmcMfknqjMEvSZ0x+CWpM5M+gWvNmt+8Wg8OW7ndl5w/s3P3Zlb/nf1vrLXIK35J6ozBL0mdMfglqTMGvyR1xuCXpM4Y/JLUGYNfkjozWPAnuTzJ3iQ7x9qOS7Itya3t/dihzi9JWtyQV/xvB847qG0zcG1VnQZc29YlSVM0WPBX1aeArx3UfAGwtS1vBV441PklSYub9hj/k6tqD0B7f9JSOybZlGR7ku379u2bWoGS9Eh3xP5xt6q2VNVCVS3Mzc3NuhxJesSYdvDfmWQDQHvfO+XzS1L3ph38VwEXtuULgQ9P+fyS1L0hp3O+B/h74ClJbk9yEXAJ8NwktwLPbeuSpCka7H78VfXSJTY9e6hzSpKWd8T+cVeSNAyDX5I6Y/BLUmcMfknqjMEvSZ0x+CWpM4NN5xTMb7561iVoYP431lrkFb8kdcbgl6TOGPyS1BmDX5I6Y/BLUmcMfknqjMEvSZ0x+CWpMwa/JHXG4Jekzhj8ktQZg1+SOmPwS1JnZnJ3ziS7gXuA/cADVbUwizokqUezvC3zD1XVV2d4fknqkkM9ktSZWQV/AX+b5MYkmxbbIcmmJNuTbN+3b9+Uy5OkR65ZBf85VXUm8HzgVUmeefAOVbWlqhaqamFubm76FUrSI9RMgr+q7mjve4EPAWfNog5J6tHUgz/JtyR5woFl4HnAzmnXIUm9msWsnicDH0py4Pzvrqq/mUEdktSlqQd/VX0ZePq0zytJGpnlPH5JWpH5zVfP5Ly7Lzl/JucdivP4JakzBr8kdcbgl6TOGPyS1BmDX5I646weSSsyq5k1Wj1e8UtSZwx+SeqMwS9JnTH4JakzBr8kdcbgl6TOGPyS1BmDX5I6Y/BLUmcMfknqjLdskKRlzPI2FUM8BMYrfknqjMEvSZ2ZSfAnOS/JF5PclmTzLGqQpF5NPfiTrAP+GHg+cDrw0iSnT7sOSerVLK74zwJuq6ovV9X9wHuBC2ZQhyR1aRazek4A/nVs/Xbgew/eKckmYFNbvTfJF6dQ25HoeOCrsy7iCGcfTcZ+Wt4R10d582Ed/h2LNc4i+LNIWx3SULUF2DJ8OUe2JNuramHWdRzJ7KPJ2E/L66WPZjHUcztw0tj6icAdM6hDkro0i+D/DHBaklOSPAZ4CXDVDOqQpC5Nfainqh5I8mrgGmAdcHlV3TLtOtaQ7oe7JmAfTcZ+Wl4XfZSqQ4bXJUmPYH5zV5I6Y/BLUmcM/ilIcnmSvUl2jrUdl2Rbklvb+7GtPUne2m5ncVOSM8eOubDtf2uSC8favyfJze2YtyZZbMrsES3JSUmuS7IryS1JXtPa7acxSY5KckOSz7d+emNrPyXJ9e1nfl+bOEGSx7b129r2+bHPen1r/2KSHx5rf0TcUiXJuiSfS/KRtm4fHVBVvgZ+Ac8EzgR2jrX9LrC5LW8G3tyWXwB8jNH3Hc4Grm/txwFfbu/HtuVj27YbgO9rx3wMeP6sf+aH0UcbgDPb8hOAf2J0Sw/76f/3U4DHt+X1wPXt578CeElrfxvwi235lcDb2vJLgPe15dOBzwOPBU4BvsRossW6tnwq8Ji2z+mz/rkfZl/9MvBu4CNt3T5qL6/4p6CqPgV87aDmC4CtbXkr8MKx9nfUyD8AxyTZAPwwsK2qvlZVXwe2Aee1bd9aVX9fo/9b3zH2WWtGVe2pqs+25XuAXYy+5W0/jWk/771tdX17FXAucGVrP7ifDvTflcCz2286FwDvrar7quorwG2MbqfyiLilSpITgfOBP2/rwT56kME/O0+uqj0wCj3gSa19sVtanLBM++2LtK9Z7VftMxhdzdpPB2lDGDuAvYz+YfsScFdVPdB2Gf/ZHuyPtv0/gG9j5f231vwB8KvAN9v6t2EfPcjgP/IsdUuLlbavSUkeD3wAeG1V3f1Quy7S1kU/VdX+qtrI6FvvZwFPXWy39t5dPyX5EWBvVd043rzIrt32kcE/O3e24Qfa+97WvtQtLR6q/cRF2tecJOsZhf67quqDrdl+WkJV3QV8ktEY/zFJDnwhc/xne7A/2vYnMhp2XGn/rSXnAD+WZDejYZhzGf0GYB81Bv/sXAUcmHFyIfDhsfaXtVkrZwP/0YY4rgGel+TYNrPlecA1bds9Sc5u45IvG/usNaPVfhmwq6reMrbJfhqTZC7JMW35aOA5jP4ech3w4rbbwf10oP9eDHyi/Y3jKuAlbUbLKcBpjP74veZvqVJVr6+qE6tqnlH9n6iqn8Y++j+z/utyDy/gPcAe4H8YXS1cxGgM8Vrg1vZ+XNs3jB5U8yXgZmBh7HN+jtEfmG4DfnasfQHY2Y75I9o3stfSC/h+Rr8u3wTsaK8X2E+H9NN3A59r/bQT+M3WfiqjULoNeD/w2NZ+VFu/rW0/deyzfr31xRcZm+HU+v2f2rZfn/XPfJj99Sz+b1aPfdRe3rJBkjrjUI8kdcbgl6TOGPyS1BmDX5I6Y/BLUmcMfknqjMEvSZ35X0f/EZ8RGz3zAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.salary.plot(kind='hist')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十三题  数据可视化 绘制薪资水平密度曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x24f5a39f648>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.salary.plot(kind = 'kde',xlim = (0,70000))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十四题  数据删除  删除最后一列categories"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary\n",
       "0        03-16        本科   27500\n",
       "1        03-16        本科   30000\n",
       "2        03-16        不限   27500\n",
       "3        03-16        本科   16500\n",
       "4        03-16        本科   15000\n",
       "..         ...       ...     ...\n",
       "130      03-16        本科   14000\n",
       "131      03-16        硕士   37500\n",
       "132      03-16        本科   30000\n",
       "133      03-16        本科   19000\n",
       "134      03-16        本科   30000\n",
       "\n",
       "[135 rows x 3 columns]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.drop(columns = ['categories2'],inplace = True)\n",
    "df.drop(columns = ['categories'],inplace = True)\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 等价于 ："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary\n",
       "0        03-16        本科   27500\n",
       "1        03-16        本科   30000\n",
       "2        03-16        不限   27500\n",
       "3        03-16        本科   16500\n",
       "4        03-16        本科   15000\n",
       "..         ...       ...     ...\n",
       "130      03-16        本科   14000\n",
       "131      03-16        硕士   37500\n",
       "132      03-16        本科   30000\n",
       "133      03-16        本科   19000\n",
       "134      03-16        本科   30000\n",
       "\n",
       "[135 rows x 3 columns]"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del df['categories']\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十五题 数据处理  将df的第一列与第二列合并为新的一列\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>test</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "      <td>本科03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "      <td>不限03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "      <td>本科03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "      <td>本科03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "      <td>本科03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "      <td>硕士03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "      <td>本科03-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary     test\n",
       "0        03-16        本科   27500  本科03-16\n",
       "1        03-16        本科   30000  本科03-16\n",
       "2        03-16        不限   27500  不限03-16\n",
       "3        03-16        本科   16500  本科03-16\n",
       "4        03-16        本科   15000  本科03-16\n",
       "..         ...       ...     ...      ...\n",
       "130      03-16        本科   14000  本科03-16\n",
       "131      03-16        硕士   37500  硕士03-16\n",
       "132      03-16        本科   30000  本科03-16\n",
       "133      03-16        本科   19000  本科03-16\n",
       "134      03-16        本科   30000  本科03-16\n",
       "\n",
       "[135 rows x 4 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['test'] = df['education'] + df['createTime']\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十六题  数据处理 将education列与salary列合并为新的一列\n",
    "- 备注： salary为int类型，此题与35题有所不同\n",
    "- map()方法会将一个函数映射到序列的每一个元素上，生成新序列，包含所有函数返回值。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>test</th>\n",
       "      <th>test1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>27500本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "      <td>不限03-16</td>\n",
       "      <td>27500不限</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>16500本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>15000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>14000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "      <td>硕士03-16</td>\n",
       "      <td>37500硕士</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>19000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary     test    test1\n",
       "0        03-16        本科   27500  本科03-16  27500本科\n",
       "1        03-16        本科   30000  本科03-16  30000本科\n",
       "2        03-16        不限   27500  不限03-16  27500不限\n",
       "3        03-16        本科   16500  本科03-16  16500本科\n",
       "4        03-16        本科   15000  本科03-16  15000本科\n",
       "..         ...       ...     ...      ...      ...\n",
       "130      03-16        本科   14000  本科03-16  14000本科\n",
       "131      03-16        硕士   37500  硕士03-16  37500硕士\n",
       "132      03-16        本科   30000  本科03-16  30000本科\n",
       "133      03-16        本科   19000  本科03-16  19000本科\n",
       "134      03-16        本科   30000  本科03-16  30000本科\n",
       "\n",
       "[135 rows x 5 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['test1'] = df['salary'].map(str) + df['education']\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十七题  数据计算 计算salary最大值与最小值之差"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "salary    41500\n",
       "dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[['salary']].apply(lambda x: x.max() - x.min())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十八题 数据处理 将第一行与最后一行拼接  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>test</th>\n",
       "      <th>test1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary     test    test1\n",
       "1        03-16        本科   30000  本科03-16  30000本科\n",
       "134      03-16        本科   30000  本科03-16  30000本科"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.concat([df[1:2],df[-1:]])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三十九题 数据处理 将第8行数据添加至末尾"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>test</th>\n",
       "      <th>test1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>27500本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "      <td>不限03-16</td>\n",
       "      <td>27500不限</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>16500本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>15000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "      <td>硕士03-16</td>\n",
       "      <td>37500硕士</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>19000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>12500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>12500本科</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>136 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary     test    test1\n",
       "0        03-16        本科   27500  本科03-16  27500本科\n",
       "1        03-16        本科   30000  本科03-16  30000本科\n",
       "2        03-16        不限   27500  不限03-16  27500不限\n",
       "3        03-16        本科   16500  本科03-16  16500本科\n",
       "4        03-16        本科   15000  本科03-16  15000本科\n",
       "..         ...       ...     ...      ...      ...\n",
       "131      03-16        硕士   37500  硕士03-16  37500硕士\n",
       "132      03-16        本科   30000  本科03-16  30000本科\n",
       "133      03-16        本科   19000  本科03-16  19000本科\n",
       "134      03-16        本科   30000  本科03-16  30000本科\n",
       "7        03-16        本科   12500  本科03-16  12500本科\n",
       "\n",
       "[136 rows x 5 columns]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.append(df.iloc[7])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十题 数据查看  查看每列的数据类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "createTime    object\n",
       "education     object\n",
       "salary         int64\n",
       "test          object\n",
       "test1         object\n",
       "dtype: object"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十一题 数据处理 将 createTime列设置为索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>test</th>\n",
       "      <th>test1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>createTime</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>27500本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "      <td>不限03-16</td>\n",
       "      <td>27500不限</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>16500本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>15000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>14000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "      <td>硕士03-16</td>\n",
       "      <td>37500硕士</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>19000本科</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>03-16</th>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           education  salary     test    test1\n",
       "createTime                                    \n",
       "03-16             本科   27500  本科03-16  27500本科\n",
       "03-16             本科   30000  本科03-16  30000本科\n",
       "03-16             不限   27500  不限03-16  27500不限\n",
       "03-16             本科   16500  本科03-16  16500本科\n",
       "03-16             本科   15000  本科03-16  15000本科\n",
       "...              ...     ...      ...      ...\n",
       "03-16             本科   14000  本科03-16  14000本科\n",
       "03-16             硕士   37500  硕士03-16  37500硕士\n",
       "03-16             本科   30000  本科03-16  30000本科\n",
       "03-16             本科   19000  本科03-16  19000本科\n",
       "03-16             本科   30000  本科03-16  30000本科\n",
       "\n",
       "[135 rows x 4 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.set_index(\"createTime\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十二题  数据创建 生成一个和df长度相同的随机数dataframe\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     0\n",
       "0    3\n",
       "1    9\n",
       "2    2\n",
       "3    7\n",
       "4    2\n",
       "..  ..\n",
       "130  3\n",
       "131  2\n",
       "132  6\n",
       "133  2\n",
       "134  3\n",
       "\n",
       "[135 rows x 1 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1 = pd.DataFrame(pd.Series(np.random.randint(1,10,135)))\n",
    "df1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十三题 数据处理 将上一题生成的dataframe与df合并\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>test</th>\n",
       "      <th>test1</th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>27500本科</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "      <td>不限03-16</td>\n",
       "      <td>27500不限</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>16500本科</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>15000本科</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>14000本科</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "      <td>硕士03-16</td>\n",
       "      <td>37500硕士</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>19000本科</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary     test    test1  0\n",
       "0        03-16        本科   27500  本科03-16  27500本科  3\n",
       "1        03-16        本科   30000  本科03-16  30000本科  9\n",
       "2        03-16        不限   27500  不限03-16  27500不限  2\n",
       "3        03-16        本科   16500  本科03-16  16500本科  7\n",
       "4        03-16        本科   15000  本科03-16  15000本科  2\n",
       "..         ...       ...     ...      ...      ... ..\n",
       "130      03-16        本科   14000  本科03-16  14000本科  3\n",
       "131      03-16        硕士   37500  硕士03-16  37500硕士  2\n",
       "132      03-16        本科   30000  本科03-16  30000本科  6\n",
       "133      03-16        本科   19000  本科03-16  19000本科  2\n",
       "134      03-16        本科   30000  本科03-16  30000本科  3\n",
       "\n",
       "[135 rows x 6 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.concat([df,df1],axis = 1)\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十四题  数据计算  生成新的一列new为salary列减去之前生成随机数列\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>test</th>\n",
       "      <th>test1</th>\n",
       "      <th>0</th>\n",
       "      <th>new</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>27500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>27500本科</td>\n",
       "      <td>3</td>\n",
       "      <td>27497</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "      <td>9</td>\n",
       "      <td>29991</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03-16</td>\n",
       "      <td>不限</td>\n",
       "      <td>27500</td>\n",
       "      <td>不限03-16</td>\n",
       "      <td>27500不限</td>\n",
       "      <td>2</td>\n",
       "      <td>27498</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>16500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>16500本科</td>\n",
       "      <td>7</td>\n",
       "      <td>16493</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>15000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>15000本科</td>\n",
       "      <td>2</td>\n",
       "      <td>14998</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>14000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>14000本科</td>\n",
       "      <td>3</td>\n",
       "      <td>13997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "      <td>硕士03-16</td>\n",
       "      <td>37500硕士</td>\n",
       "      <td>2</td>\n",
       "      <td>37498</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "      <td>6</td>\n",
       "      <td>29994</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>19000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>19000本科</td>\n",
       "      <td>2</td>\n",
       "      <td>18998</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>30000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>30000本科</td>\n",
       "      <td>3</td>\n",
       "      <td>29997</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>135 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary     test    test1  0    new\n",
       "0        03-16        本科   27500  本科03-16  27500本科  3  27497\n",
       "1        03-16        本科   30000  本科03-16  30000本科  9  29991\n",
       "2        03-16        不限   27500  不限03-16  27500不限  2  27498\n",
       "3        03-16        本科   16500  本科03-16  16500本科  7  16493\n",
       "4        03-16        本科   15000  本科03-16  15000本科  2  14998\n",
       "..         ...       ...     ...      ...      ... ..    ...\n",
       "130      03-16        本科   14000  本科03-16  14000本科  3  13997\n",
       "131      03-16        硕士   37500  硕士03-16  37500硕士  2  37498\n",
       "132      03-16        本科   30000  本科03-16  30000本科  6  29994\n",
       "133      03-16        本科   19000  本科03-16  19000本科  2  18998\n",
       "134      03-16        本科   30000  本科03-16  30000本科  3  29997\n",
       "\n",
       "[135 rows x 7 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"new\"] = df[\"salary\"] - df[0]\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十五题 缺失值处理  检查数据中是否含有任何缺失值\n",
    "- pandas判断缺失值一般采用 isnull()，然而生成的却是所有数据的true／false矩阵，对于庞大的数据dataframe，很难一眼看出来哪个数据缺失，一共有多少个缺失数据，缺失数据的位置。\n",
    "- df.isnull().any()则会判断哪些”列”存在缺失值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "createTime    False\n",
       "education     False\n",
       "salary        False\n",
       "test          False\n",
       "test1         False\n",
       "0             False\n",
       "new           False\n",
       "dtype: bool"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isnull().any()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isnull().values.any()  #检查数据中是否含有任何缺失值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十六题 数据转换 将salary列类型转换为浮点数\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      27500.0\n",
       "1      30000.0\n",
       "2      27500.0\n",
       "3      16500.0\n",
       "4      15000.0\n",
       "        ...   \n",
       "130    14000.0\n",
       "131    37500.0\n",
       "132    30000.0\n",
       "133    19000.0\n",
       "134    30000.0\n",
       "Name: salary, Length: 135, dtype: float64"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['salary'].astype(np.float64)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十七题  数据计算 计算salary大于10000的次数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "119"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df[df['salary'] > 10000])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十八题  数据统计 查看每种学历出现的次数\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "本科    119\n",
       "硕士      7\n",
       "不限      5\n",
       "大专      4\n",
       "Name: education, dtype: int64"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.education.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四十九题 数据查看  查看education列共有几种学历\n",
    "- nunique() 可直接统计dataframe中每列的不同值的个数,也可用于series,但不能用于list.返回的是不同值的个数."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['education'].nunique()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第五十题  数据提取  提取salary与new列的和大于60000的最后三行\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      54997\n",
       "1      59991\n",
       "2      54998\n",
       "3      32993\n",
       "4      29998\n",
       "       ...  \n",
       "130    27997\n",
       "131    74998\n",
       "132    59994\n",
       "133    37998\n",
       "134    59997\n",
       "Length: 135, dtype: int64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1 = df[['salary','new']]\n",
    "rowsums = df1.apply(np.sum, axis=1)\n",
    "rowsums"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### np.where有两种用法：\n",
    "- 第一种： np.where(condition, x, y)：满足条件(condition)，输出x，不满足输出y。\n",
    "\n",
    "- 第二种： np.where(condition)：只有条件 (condition)，没有x和y，则输出满足条件的元素的坐标；这里的坐标以tuple的形式给出，通常原数组有多少维，输出的tuple中就包含几个数组，分别对应符合条件元素的各维坐标。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>createTime</th>\n",
       "      <th>education</th>\n",
       "      <th>salary</th>\n",
       "      <th>test</th>\n",
       "      <th>test1</th>\n",
       "      <th>0</th>\n",
       "      <th>new</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>35000</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>35000本科</td>\n",
       "      <td>6</td>\n",
       "      <td>34994</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>03-16</td>\n",
       "      <td>本科</td>\n",
       "      <td>37500</td>\n",
       "      <td>本科03-16</td>\n",
       "      <td>37500本科</td>\n",
       "      <td>8</td>\n",
       "      <td>37492</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>03-16</td>\n",
       "      <td>硕士</td>\n",
       "      <td>37500</td>\n",
       "      <td>硕士03-16</td>\n",
       "      <td>37500硕士</td>\n",
       "      <td>2</td>\n",
       "      <td>37498</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    createTime education  salary     test    test1  0    new\n",
       "92       03-16        本科   35000  本科03-16  35000本科  6  34994\n",
       "101      03-16        本科   37500  本科03-16  37500本科  8  37492\n",
       "131      03-16        硕士   37500  硕士03-16  37500硕士  2  37498"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res = df.iloc[np.where(rowsums > 60000)[0][-3:], :]\n",
    "res"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 如果我们对于行感兴趣,这时候有两种方法，即 iloc 和 loc 方法\n",
    "- loc是指location的意思，iloc中的i是指integer。这两者的区别如下：\n",
    "- loc works on labels in the index.\n",
    "- iloc works on the positions in the index (so it only takes integers) \n",
    "- 也就是说loc是根据index来索引，如果table定义了一个index，那么loc就根据这个index来索引对应的行；而iloc是根据行号来索引，行号从0开始，逐次加1。\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
